_spawn(extraArgs = []) {
try {
- let cmdLine = ['ibus-daemon', '--panel', 'disable', '--xim', ...extraArgs];
+ let cmdLine = ['ibus-daemon', '--panel', 'disable', ...extraArgs];
Gio.Subprocess.new(cmdLine, Gio.SubprocessFlags.NONE);
} catch (e) {
log(`Failed to launch ibus-daemon: ${e.message}`);
const EdgeDragAction = imports.ui.edgeDragAction;
const CloseDialog = imports.ui.closeDialog;
const SwitchMonitor = imports.ui.switchMonitor;
+const IBusManager = imports.misc.ibusManager;
const { loadInterfaceXML } = imports.misc.fileUtils;
}
});
+ global.display.connect('x11-display-opened', () => {
+ IBusManager.getIBusManager().restartDaemon(['--xim']);
+ Shell.util_start_systemd_unit('gnome-session-x11-services.target', 'fail');
+ });
+ global.display.connect('x11-display-closing', () => {
+ Shell.util_stop_systemd_unit('gnome-session-x11-services.target', 'fail');
+ IBusManager.getIBusManager().restartDaemon();
+ });
+
Main.overview.connect('showing', () => {
for (let i = 0; i < this._dimmedWindows.length; i++)
this._undimWindow(this._dimmedWindows[i]);